package cn.lhjl.day03.Note;
/*
* 对于功能类似的方法来说，因为参数列表不一样，却需要记住那么多不同的方法名称，太麻烦。
*
* 方法重载（Overload）：在同一个类中,多个方法的名称一样，但是参数列表不一样。
* 好处：只需要记住一个方法名称，就可以实现类似的多个功能。
*
* 方法重载与下列因素相关：
* 1.参数个数不同
* 2.参数的类型不同。
* 3.类型的顺序不同。例如 (int a,double b)和(double a,int b)
*
* 方法重载与下列因素无关：
* 1.与参数的名称无关。
* 2与方法的返回值无关。
*
*
*快捷键 shift+f6,全部一起变。
* ctrl + 右键点击查看方法源码
* println方法其实就是进行了多个数据类型的重载。
*
*
*
*
* */
public class OverLoad {
    public static void main(String[] args) {
        sum(1, 2);
        sum(1,2,3);
        sum(1,2,3,4);
    }

    public static int sum(int a, int b) {
        System.out.println("2");
        return a + b;
    }

    public static int sum(int a, int b, int c) {
        System.out.println("3");
        return a + b + c;
    }


    public static int sum(int a, int b, int c, int d) {
        System.out.println(4);
        return a + b + c + d;
    }
}

